.so-mask {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 998
}

.so-plate {
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	width: 100%;
	left: 0;
	background: #fff;
	padding: 25upx 25upx 0 25upx
}

.so-plate-head {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	align-items: center
}

.so-plate-type {
	-webkit-box-flex: 1;
	flex: 1;
	display: block
}

.so-plate-type label {
	display: inline-block;
	min-height: 32upx;
	font-size: 26upx;
	margin-right: 20upx
}

.so-plate-body {
	box-sizing: border-box;
	padding: 30upx 0;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	align-items: center
}

.so-plate-word {
	border: 1upx solid #ccc;
	border-radius: 10upx;
	height: 0;
	margin: 0 5upx;
	box-sizing: border-box;
	padding-bottom: calc(4.28571429%);
	width: calc(4.28571429%);
	position: relative
}

.so-plate-word.active {
	border-color: #007aff;
	box-shadow: 0 0 15upx 0 #007aff
}

.so-plate-word text {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	font-weight: 700;
	font-size: 32upx
}

.so-plate-dot {
	width: 15upx;
	height: 15upx;
	background: #ccc;
	border-radius: 50%;
	margin: 0 5upx
}

.so-plate-keyboard {
	background: #eee;
	margin-left: -25upx;
	margin-right: -25upx;
	padding: 20upx 25upx 10upx 25upx;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s
}

.so-plate-keyboard>view {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between
}

.so-plate-key {
	display: block;
	background: #fff;
	border-radius: 10upx;
	box-shadow: 0 0 8upx 0 #bbb;
	width: 80upx;
	height: 80upx;
	margin: 5upx 0;
	font-size: 32upx;
	text-align: center;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	position: relative
}

.so-plate-key.hover {
	background: #efefef
}

.so-plate-key.fill-block {
	width: 80upx;
	height: 80upx;
	background: none;
	box-shadow: none
}

.so-plate-btn {
	display: inline-block;
	background: #fff;
	border-radius: 10upx;
	box-shadow: 0 0 10upx 0 #bbb;
	font-size: 28upx;
	text-align: center;
	margin: 0 0 0 10upx
}

.so-plate-btn-group {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	background: #eee;
	margin-left: -25upx;
	margin-right: -25upx;
	box-sizing: border-box;
	padding: 0 25upx 10upx 25upx
}

.so-plate-btn--cancel {
	margin: 0
}

.so-plate-btn--submit {
	background: #5773f9;
	color: #fff
}

.so-plate-btn--delete {
	color: #fd6b6d
}

.animation-scale-up {
	-webkit-animation-duration: .2s;
	animation-duration: .2s;
	-webkit-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-name: scale-up;
	animation-name: scale-up
}

@-webkit-keyframes scale-up {
	0% {
		opacity: .8;
		-webkit-transform: scale(.8);
		transform: scale(.8)
	}

	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

@keyframes scale-up {
	0% {
		opacity: .8;
		-webkit-transform: scale(.8);
		transform: scale(.8)
	}

	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}
